{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-02-27T09:28:55.211471Z",
     "start_time": "2019-02-27T09:28:17.474292Z"
    }
   },
   "outputs": [],
   "source": [
    "# 引入必要库\n",
    "import pyecharts\n",
    "import requests\n",
    "from bs4 import BeautifulSoup\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "# windows和mac设置中文字体的方式不一样，这里需注意根据实际情况调整\n",
    "# plt.rcParams['font.sans-serif'] = ['SimHei']\n",
    "%matplotlib inline\n",
    "import matplotlib\n",
    "myfont = matplotlib.font_manager.FontProperties(fname='../zhaozi.ttf', size=14) # 为了显示中文\n",
    "sns.set(font=myfont.get_name())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-02-27T09:29:04.788045Z",
     "start_time": "2019-02-27T09:29:04.783058Z"
    }
   },
   "outputs": [],
   "source": [
    "# 函数默认返回北京市2018年1月到12月的url，可以自行调整\n",
    "def get_url(city='beijing'):\n",
    "    '''\n",
    "    city为城市拼写的字符串，year为年份+月份\n",
    "    '''\n",
    "    for time in range(201801,201813):\n",
    "        url = \"http://lishi.tianqi.com/{}/{}.html\".format(city,time)\n",
    "        yield url"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-02-27T09:29:06.694496Z",
     "start_time": "2019-02-27T09:29:06.685493Z"
    }
   },
   "outputs": [],
   "source": [
    "# 这里需要加上自己的cookies\n",
    "def get_datas(urls = get_url()):\n",
    "    cookie = {\"cityPy\":\"sanming; cityPy_expire=1551775148; UM_distinctid=16928f54c6d0-08753ecf8a3d56-5d4e211f-1fa400-16928f54c6e445; CNZZDATA1275796416=308465049-1551166484-null%7C1551172369; Hm_lvt_ab6a683aa97a52202eab5b3a9042a8d2=1551170359,1551172902; Hm_lpvt_ab6a683aa97a52202eab5b3a9042a8d2=1551172902\"}\n",
    "    header = {\"User-Agent\":\"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36\"}\n",
    "    for url in urls:\n",
    "        html = requests.get(url = url, headers = header, cookies=cookie)\n",
    "        soup = BeautifulSoup(html.content, 'html.parser')\n",
    "        date = soup.select(\"#tool_site > div.tqtongji2 > ul > li:nth-of-type(1) > a\")\n",
    "        max_temp = soup.select(\"#tool_site > div.tqtongji2 > ul > li:nth-of-type(2)\")\n",
    "        min_temp = soup.select(\"#tool_site > div.tqtongji2 > ul > li:nth-of-type(3)\")\n",
    "        weather = soup.select(\"#tool_site > div.tqtongji2 > ul > li:nth-of-type(4)\")\n",
    "        wind_direction = soup.select(\"#tool_site > div.tqtongji2 > ul > li:nth-of-type(5)\")\n",
    "        date = [x.text for x in date]\n",
    "        max_temp = [x.text for x in max_temp[1:]]\n",
    "        min_temp = [x.text for x in min_temp[1:]]\n",
    "        weather = [x.text for x in weather[1:]]\n",
    "        wind_direction = [x.text for x in wind_direction[1:]]\n",
    "        yield pd.DataFrame([date,max_temp,min_temp,weather,wind_direction]).T"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-02-27T09:29:07.735489Z",
     "start_time": "2019-02-27T09:29:07.730503Z"
    }
   },
   "outputs": [],
   "source": [
    "# 获取数据方法\n",
    "def get_result():\n",
    "    result = pd.DataFrame()\n",
    "    for data in get_datas():  \n",
    "        result = result.append(data)\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-02-27T13:10:22.802259Z",
     "start_time": "2019-02-27T13:10:19.052147Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "空数据有 0\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2018-01-01</td>\n",
       "      <td>3</td>\n",
       "      <td>-6</td>\n",
       "      <td>晴</td>\n",
       "      <td>东风</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2018-01-02</td>\n",
       "      <td>2</td>\n",
       "      <td>-5</td>\n",
       "      <td>多云</td>\n",
       "      <td>北风</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2018-01-03</td>\n",
       "      <td>2</td>\n",
       "      <td>-5</td>\n",
       "      <td>多云</td>\n",
       "      <td>西北风</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2018-01-04</td>\n",
       "      <td>-1</td>\n",
       "      <td>-7</td>\n",
       "      <td>阴</td>\n",
       "      <td>西南风</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2018-01-05</td>\n",
       "      <td>3</td>\n",
       "      <td>-6</td>\n",
       "      <td>多云</td>\n",
       "      <td>西风</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            0   1   2   3    4\n",
       "0  2018-01-01   3  -6   晴   东风\n",
       "1  2018-01-02   2  -5  多云   北风\n",
       "2  2018-01-03   2  -5  多云  西北风\n",
       "3  2018-01-04  -1  -7   阴  西南风\n",
       "4  2018-01-05   3  -6  多云   西风"
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 执行方法，获取数据\n",
    "result = get_result()\n",
    "\n",
    "# 是否存在非空数据\n",
    "print('空数据有',result.isnull().any().sum())\n",
    "\n",
    "# 简单查看下爬取到的数据\n",
    "result.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-02-27T13:10:30.994176Z",
     "start_time": "2019-02-27T13:10:30.266305Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 361 entries, 0 to 30\n",
      "Data columns (total 6 columns):\n",
      "日期      361 non-null datetime64[ns]\n",
      "最高温度    361 non-null int64\n",
      "最低温度    361 non-null int64\n",
      "天气状况    361 non-null object\n",
      "风向      361 non-null object\n",
      "平均温度    361 non-null float64\n",
      "dtypes: datetime64[ns](1), float64(1), int64(2), object(2)\n",
      "memory usage: 19.7+ KB\n"
     ]
    }
   ],
   "source": [
    "# 改一下列名\n",
    "result.columns = [\"日期\",\"最高温度\",\"最低温度\",\"天气状况\",\"风向\"]\n",
    "# 由于提取的默认是字符串，所以这里更改一下数据类型\n",
    "result['日期'] = pd.to_datetime(result['日期'])\n",
    "result[\"最高温度\"] = pd.to_numeric(result['最高温度'])\n",
    "result[\"最低温度\"] = pd.to_numeric(result['最低温度'])\n",
    "result[\"平均温度\"] = (result['最高温度'] + result['最低温度'])/2\n",
    "# 看一下更改后的数据状况\n",
    "result.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-02-27T13:10:33.896196Z",
     "start_time": "2019-02-27T13:10:32.746386Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x11bd95438>"
      ]
     },
     "execution_count": 108,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11c125518>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 温度的分布\n",
    "sns.distplot(result['平均温度'])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-02-27T13:53:11.696284Z",
     "start_time": "2019-02-27T13:53:11.456940Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x11bab7828>"
      ]
     },
     "execution_count": 114,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11bbcecf8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 天气状况分布\n",
    "sns.countplot(result['天气状况'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-02-27T13:53:04.864402Z",
     "start_time": "2019-02-27T13:53:04.825518Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts': '/nbextensions/echarts/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "    <div id=\"4b451ffebec64a75b41baef4ed43ecdc\" style=\"width:800px;height:400px;\"></div>\n",
       "\n",
       "\n",
       "<script>\n",
       "    require(['echarts'], function(echarts) {\n",
       "        \n",
       "var myChart_4b451ffebec64a75b41baef4ed43ecdc = echarts.init(document.getElementById('4b451ffebec64a75b41baef4ed43ecdc'), 'light', {renderer: 'canvas'});\n",
       "\n",
       "var option_4b451ffebec64a75b41baef4ed43ecdc = {\n",
       "    \"series_id\": 40385,\n",
       "    \"xAxis\": [\n",
       "        {\n",
       "            \"nameTextStyle\": {\n",
       "                \"fontSize\": 14\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"inverse\": false,\n",
       "            \"type\": \"category\",\n",
       "            \"axisLabel\": {\n",
       "                \"textStyle\": {\n",
       "                    \"fontSize\": 12\n",
       "                },\n",
       "                \"rotate\": 0,\n",
       "                \"interval\": \"auto\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"nameGap\": 25,\n",
       "            \"axisTick\": {\n",
       "                \"alignWithLabel\": false\n",
       "            },\n",
       "            \"data\": [\n",
       "                \"1\\u6708\\u4efd\",\n",
       "                \"2\\u6708\\u4efd\",\n",
       "                \"3\\u6708\\u4efd\",\n",
       "                \"4\\u6708\\u4efd\",\n",
       "                \"5\\u6708\\u4efd\",\n",
       "                \"6\\u6708\\u4efd\",\n",
       "                \"7\\u6708\\u4efd\",\n",
       "                \"8\\u6708\\u4efd\",\n",
       "                \"9\\u6708\\u4efd\",\n",
       "                \"10\\u6708\\u4efd\",\n",
       "                \"11\\u6708\\u4efd\",\n",
       "                \"12\\u6708\\u4efd\"\n",
       "            ],\n",
       "            \"boundaryGap\": true,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false\n",
       "            },\n",
       "            \"nameLocation\": \"middle\"\n",
       "        }\n",
       "    ],\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"textStyle\": {\n",
       "                \"fontSize\": 18\n",
       "            },\n",
       "            \"left\": \"auto\",\n",
       "            \"top\": \"auto\",\n",
       "            \"text\": \"\\u5404\\u6708\\u964d\\u6c34\\u5929\\u6570\\u7edf\\u8ba1\",\n",
       "            \"subtextStyle\": {\n",
       "                \"fontSize\": 12\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"borderColor\": \"#333\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"trigger\": \"item\",\n",
       "        \"backgroundColor\": \"rgba(50,50,50,0.7)\",\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"toolbox\": {\n",
       "        \"show\": true,\n",
       "        \"left\": \"95%\",\n",
       "        \"orient\": \"vertical\",\n",
       "        \"feature\": {\n",
       "            \"dataView\": {\n",
       "                \"show\": true\n",
       "            },\n",
       "            \"saveAsImage\": {\n",
       "                \"title\": \"\\u4e0b\\u8f7d\\u56fe\\u7247\",\n",
       "                \"show\": true\n",
       "            },\n",
       "            \"restore\": {\n",
       "                \"show\": true\n",
       "            }\n",
       "        },\n",
       "        \"top\": \"center\"\n",
       "    },\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"markPoint\": {\n",
       "                \"data\": []\n",
       "            },\n",
       "            \"step\": false,\n",
       "            \"markLine\": {\n",
       "                \"data\": []\n",
       "            },\n",
       "            \"stack\": \"stack_40385\",\n",
       "            \"symbol\": \"emptyCircle\",\n",
       "            \"data\": [\n",
       "                [\n",
       "                    \"1\\u6708\\u4efd\",\n",
       "                    0\n",
       "                ],\n",
       "                [\n",
       "                    \"2\\u6708\\u4efd\",\n",
       "                    0\n",
       "                ],\n",
       "                [\n",
       "                    \"3\\u6708\\u4efd\",\n",
       "                    1.0\n",
       "                ],\n",
       "                [\n",
       "                    \"4\\u6708\\u4efd\",\n",
       "                    3.0\n",
       "                ],\n",
       "                [\n",
       "                    \"5\\u6708\\u4efd\",\n",
       "                    7.0\n",
       "                ],\n",
       "                [\n",
       "                    \"6\\u6708\\u4efd\",\n",
       "                    7.0\n",
       "                ],\n",
       "                [\n",
       "                    \"7\\u6708\\u4efd\",\n",
       "                    12.0\n",
       "                ],\n",
       "                [\n",
       "                    \"8\\u6708\\u4efd\",\n",
       "                    12.0\n",
       "                ],\n",
       "                [\n",
       "                    \"9\\u6708\\u4efd\",\n",
       "                    2.0\n",
       "                ],\n",
       "                [\n",
       "                    \"10\\u6708\\u4efd\",\n",
       "                    1.0\n",
       "                ],\n",
       "                [\n",
       "                    \"11\\u6708\\u4efd\",\n",
       "                    0\n",
       "                ],\n",
       "                [\n",
       "                    \"12\\u6708\\u4efd\",\n",
       "                    0\n",
       "                ]\n",
       "            ],\n",
       "            \"name\": \"\\u964d\\u6c34\\u5929\\u6570\",\n",
       "            \"smooth\": false,\n",
       "            \"type\": \"line\",\n",
       "            \"symbolSize\": 4,\n",
       "            \"showSymbol\": true,\n",
       "            \"lineStyle\": {\n",
       "                \"normal\": {\n",
       "                    \"width\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"opacity\": 1,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            },\n",
       "            \"seriesId\": 40385,\n",
       "            \"label\": {\n",
       "                \"normal\": {\n",
       "                    \"textStyle\": {\n",
       "                        \"fontSize\": 12\n",
       "                    },\n",
       "                    \"show\": false,\n",
       "                    \"position\": \"top\"\n",
       "                },\n",
       "                \"emphasis\": {\n",
       "                    \"textStyle\": {\n",
       "                        \"fontSize\": 12\n",
       "                    },\n",
       "                    \"show\": true\n",
       "                }\n",
       "            },\n",
       "            \"areaStyle\": {\n",
       "                \"opacity\": 0.7\n",
       "            }\n",
       "        },\n",
       "        {\n",
       "            \"markPoint\": {\n",
       "                \"data\": []\n",
       "            },\n",
       "            \"step\": false,\n",
       "            \"markLine\": {\n",
       "                \"data\": []\n",
       "            },\n",
       "            \"stack\": \"stack_40385\",\n",
       "            \"symbol\": \"emptyCircle\",\n",
       "            \"data\": [\n",
       "                [\n",
       "                    \"1\\u6708\\u4efd\",\n",
       "                    31.0\n",
       "                ],\n",
       "                [\n",
       "                    \"2\\u6708\\u4efd\",\n",
       "                    28.0\n",
       "                ],\n",
       "                [\n",
       "                    \"3\\u6708\\u4efd\",\n",
       "                    30.0\n",
       "                ],\n",
       "                [\n",
       "                    \"4\\u6708\\u4efd\",\n",
       "                    27.0\n",
       "                ],\n",
       "                [\n",
       "                    \"5\\u6708\\u4efd\",\n",
       "                    24.0\n",
       "                ],\n",
       "                [\n",
       "                    \"6\\u6708\\u4efd\",\n",
       "                    23.0\n",
       "                ],\n",
       "                [\n",
       "                    \"7\\u6708\\u4efd\",\n",
       "                    19.0\n",
       "                ],\n",
       "                [\n",
       "                    \"8\\u6708\\u4efd\",\n",
       "                    19.0\n",
       "                ],\n",
       "                [\n",
       "                    \"9\\u6708\\u4efd\",\n",
       "                    24.0\n",
       "                ],\n",
       "                [\n",
       "                    \"10\\u6708\\u4efd\",\n",
       "                    30.0\n",
       "                ],\n",
       "                [\n",
       "                    \"11\\u6708\\u4efd\",\n",
       "                    30.0\n",
       "                ],\n",
       "                [\n",
       "                    \"12\\u6708\\u4efd\",\n",
       "                    31.0\n",
       "                ]\n",
       "            ],\n",
       "            \"name\": \"\\u672a\\u964d\\u6c34\\u5929\\u6570\",\n",
       "            \"smooth\": false,\n",
       "            \"type\": \"line\",\n",
       "            \"symbolSize\": 4,\n",
       "            \"showSymbol\": true,\n",
       "            \"lineStyle\": {\n",
       "                \"normal\": {\n",
       "                    \"width\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"opacity\": 1,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            },\n",
       "            \"seriesId\": 40385,\n",
       "            \"label\": {\n",
       "                \"normal\": {\n",
       "                    \"textStyle\": {\n",
       "                        \"fontSize\": 12\n",
       "                    },\n",
       "                    \"show\": false,\n",
       "                    \"position\": \"top\"\n",
       "                },\n",
       "                \"emphasis\": {\n",
       "                    \"textStyle\": {\n",
       "                        \"fontSize\": 12\n",
       "                    },\n",
       "                    \"show\": true\n",
       "                }\n",
       "            },\n",
       "            \"areaStyle\": {\n",
       "                \"opacity\": 0.7\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\",\n",
       "        \"#f6f5ec\"\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"textStyle\": {\n",
       "                \"fontSize\": 12\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"orient\": \"horizontal\",\n",
       "            \"data\": [\n",
       "                \"\\u964d\\u6c34\\u5929\\u6570\",\n",
       "                \"\\u672a\\u964d\\u6c34\\u5929\\u6570\"\n",
       "            ],\n",
       "            \"selectedMode\": \"multiple\",\n",
       "            \"top\": \"top\",\n",
       "            \"left\": \"center\"\n",
       "        }\n",
       "    ],\n",
       "    \"yAxis\": [\n",
       "        {\n",
       "            \"nameTextStyle\": {\n",
       "                \"fontSize\": 14\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"boundaryGap\": true,\n",
       "            \"axisLabel\": {\n",
       "                \"textStyle\": {\n",
       "                    \"fontSize\": 12\n",
       "                },\n",
       "                \"rotate\": 0,\n",
       "                \"formatter\": \"{value} \",\n",
       "                \"interval\": \"auto\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"nameGap\": 25,\n",
       "            \"axisTick\": {\n",
       "                \"alignWithLabel\": false\n",
       "            },\n",
       "            \"type\": \"value\",\n",
       "            \"inverse\": false,\n",
       "            \"splitLine\": {\n",
       "                \"show\": true\n",
       "            },\n",
       "            \"nameLocation\": \"middle\"\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "myChart_4b451ffebec64a75b41baef4ed43ecdc.setOption(option_4b451ffebec64a75b41baef4ed43ecdc);\n",
       "\n",
       "    });\n",
       "</script>\n"
      ],
      "text/plain": [
       "<pyecharts.charts.line.Line at 0x11bd95a58>"
      ]
     },
     "execution_count": 115,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 按月份统计降雨和没有降雨的天气数量\n",
    "\n",
    "result['是否降水'] = result['天气状况'].apply(lambda x:'未降水' if x in ['晴','多云','阴','雾','浮尘','霾','扬沙'] else '降水')\n",
    "rain = result.groupby([result['日期'].apply(lambda x:x.month),'是否降水'])['是否降水'].count()\n",
    "\n",
    "month = [str(i)+\"月份\" for i in range(1,13)]\n",
    "is_rain = [rain[i]['降水'] if '降水' in rain[i].index else 0 for i in range(1,13)]\n",
    "no_rain = [rain[i]['未降水'] if '未降水' in rain[i].index else 0  for i in range(1,13)]\n",
    "\n",
    "line = pyecharts.Line(\"各月降水天数统计\")\n",
    "\n",
    "line.add(\n",
    "    \"降水天数\",\n",
    "    month,\n",
    "    is_rain,\n",
    "    is_fill=True,\n",
    "    area_opacity=0.7,\n",
    "    is_stack = True)\n",
    "\n",
    "line.add(\n",
    "    \"未降水天数\",\n",
    "    month,\n",
    "    no_rain,\n",
    "    is_fill=True,\n",
    "    area_opacity=0.7,\n",
    "    is_stack = True)\n",
    "line"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-02-27T13:53:00.221181Z",
     "start_time": "2019-02-27T13:52:59.731466Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x11b9e9240>"
      ]
     },
     "execution_count": 116,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11c558080>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 按照月份查看最高、最低、平均温度的走势\n",
    "result.groupby(result['日期'].apply(lambda x:x.month)).mean().plot(kind='line')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-02-27T13:52:54.191915Z",
     "start_time": "2019-02-27T13:52:54.175946Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts': '/nbextensions/echarts/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "    <div id=\"21f26970c7a94c93a2ecf3e367bea450\" style=\"width:800px;height:400px;\"></div>\n",
       "\n",
       "\n",
       "<script>\n",
       "    require(['echarts'], function(echarts) {\n",
       "        \n",
       "var myChart_21f26970c7a94c93a2ecf3e367bea450 = echarts.init(document.getElementById('21f26970c7a94c93a2ecf3e367bea450'), 'light', {renderer: 'canvas'});\n",
       "\n",
       "var option_21f26970c7a94c93a2ecf3e367bea450 = {\n",
       "    \"series_id\": 6642680,\n",
       "    \"radar\": {\n",
       "        \"name\": {\n",
       "            \"textStyle\": {\n",
       "                \"fontSize\": 12,\n",
       "                \"color\": \"#333\"\n",
       "            }\n",
       "        },\n",
       "        \"splitLine\": {\n",
       "            \"show\": true,\n",
       "            \"lineStyle\": {\n",
       "                \"normal\": {\n",
       "                    \"width\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"opacity\": 1,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            }\n",
       "        },\n",
       "        \"splitArea\": {\n",
       "            \"show\": true,\n",
       "            \"areaStyle\": {\n",
       "                \"opacity\": 1\n",
       "            }\n",
       "        },\n",
       "        \"axisLine\": {\n",
       "            \"show\": true,\n",
       "            \"lineStyle\": {\n",
       "                \"normal\": {\n",
       "                    \"width\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"opacity\": 1,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            }\n",
       "        },\n",
       "        \"indicator\": [\n",
       "            {\n",
       "                \"name\": \"\\u5317\\u98ce\",\n",
       "                \"max\": 100\n",
       "            },\n",
       "            {\n",
       "                \"name\": \"\\u897f\\u5317\\u98ce\",\n",
       "                \"max\": 100\n",
       "            },\n",
       "            {\n",
       "                \"name\": \"\\u897f\\u98ce\",\n",
       "                \"max\": 100\n",
       "            },\n",
       "            {\n",
       "                \"name\": \"\\u897f\\u5357\\u98ce\",\n",
       "                \"max\": 100\n",
       "            },\n",
       "            {\n",
       "                \"name\": \"\\u5357\\u98ce\",\n",
       "                \"max\": 100\n",
       "            },\n",
       "            {\n",
       "                \"name\": \"\\u4e1c\\u5357\\u98ce\",\n",
       "                \"max\": 100\n",
       "            },\n",
       "            {\n",
       "                \"name\": \"\\u4e1c\\u98ce\",\n",
       "                \"max\": 100\n",
       "            },\n",
       "            {\n",
       "                \"name\": \"\\u4e1c\\u5317\\u98ce\",\n",
       "                \"max\": 100\n",
       "            }\n",
       "        ]\n",
       "    },\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"textStyle\": {\n",
       "                \"fontSize\": 18\n",
       "            },\n",
       "            \"left\": \"auto\",\n",
       "            \"top\": \"auto\",\n",
       "            \"subtextStyle\": {\n",
       "                \"fontSize\": 12\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"borderColor\": \"#333\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"trigger\": \"item\",\n",
       "        \"backgroundColor\": \"rgba(50,50,50,0.7)\",\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"toolbox\": {\n",
       "        \"show\": true,\n",
       "        \"left\": \"95%\",\n",
       "        \"orient\": \"vertical\",\n",
       "        \"feature\": {\n",
       "            \"dataView\": {\n",
       "                \"show\": true\n",
       "            },\n",
       "            \"saveAsImage\": {\n",
       "                \"title\": \"\\u4e0b\\u8f7d\\u56fe\\u7247\",\n",
       "                \"show\": true\n",
       "            },\n",
       "            \"restore\": {\n",
       "                \"show\": true\n",
       "            }\n",
       "        },\n",
       "        \"top\": \"center\"\n",
       "    },\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"lineStyle\": {\n",
       "                \"normal\": {\n",
       "                    \"width\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"opacity\": 1,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            },\n",
       "            \"itemStyle\": {\n",
       "                \"normal\": {}\n",
       "            },\n",
       "            \"label\": {\n",
       "                \"normal\": {\n",
       "                    \"textStyle\": {\n",
       "                        \"fontSize\": 12\n",
       "                    },\n",
       "                    \"show\": false,\n",
       "                    \"position\": \"top\"\n",
       "                },\n",
       "                \"emphasis\": {\n",
       "                    \"textStyle\": {\n",
       "                        \"fontSize\": 12\n",
       "                    },\n",
       "                    \"show\": true\n",
       "                }\n",
       "            },\n",
       "            \"symbol\": \"circle\",\n",
       "            \"data\": [\n",
       "                [\n",
       "                    21.0,\n",
       "                    39.0,\n",
       "                    18.0,\n",
       "                    94.0,\n",
       "                    70.0,\n",
       "                    49.0,\n",
       "                    38.0,\n",
       "                    32.0\n",
       "                ]\n",
       "            ],\n",
       "            \"name\": \"\\u98ce\\u5411\\u7edf\\u8ba1\",\n",
       "            \"type\": \"radar\",\n",
       "            \"areaStyle\": {\n",
       "                \"opacity\": 0\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\",\n",
       "        \"#f6f5ec\"\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"textStyle\": {\n",
       "                \"fontSize\": 12\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"orient\": \"horizontal\",\n",
       "            \"data\": [\n",
       "                \"\\u98ce\\u5411\\u7edf\\u8ba1\"\n",
       "            ],\n",
       "            \"selectedMode\": \"multiple\",\n",
       "            \"top\": \"top\",\n",
       "            \"left\": \"center\"\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "myChart_21f26970c7a94c93a2ecf3e367bea450.setOption(option_21f26970c7a94c93a2ecf3e367bea450);\n",
       "\n",
       "    });\n",
       "</script>\n"
      ],
      "text/plain": [
       "<pyecharts.charts.radar.Radar at 0x11080d198>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "directions = ['北风', '西北风', '西风', '西南风', '南风', '东南风', '东风', '东北风']\n",
    "schema = []\n",
    "v = []\n",
    "days = result['风向'].value_counts()\n",
    "for d in directions:\n",
    "    schema.append((d,100))\n",
    "    v.append(days[d])\n",
    "v = [v]\n",
    "radar = pyecharts.Radar()\n",
    "radar.config(schema)\n",
    "radar.add(\"风向统计\", v, is_axisline_show=True)\n",
    "radar"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
